The pervasiveness of computers and other processor-based devices has resulted in data proliferation such that vast amounts of digital data are created and stored daily. Although originally the sole domain of well-funded companies and research institutions, technology advancements and cost reductions over time have enabled computers and other electronic devices to become commonplace in the lives of most everyone. As a result, both businesses and consumers create and interact with large amounts of digital data.
Traditionally, a database management system (DBMS) is employed to manage interaction with database data. The DBMS efficiently manages requests or queries from users and programs so that these entities are free from having to know specifics pertaining to how and where data is physically stored. Furthermore, in handling requests, the DBMS ensures integrity and security with respect to the data. The most common DBMS is a relational database management system (RDBM). In this system, data is stored in a tabular format wherein data resides at the intersection of a row and a column.
With the advent and growing popularity of the Internet and other networking technologies, various other structured data languages or formats have been developed to facilitate storing and sharing of information across different technology systems. One such language is XML (eXtensible Markup Language), which is a standard language that allows entities and/or groups to share information in a convenient fashion. This language uses tags or symbols to markup or describe content. Another format that enables sharing of data is JSON (JavaScript Object Notation). JSON is a lightweight data exchange format rather than a markup language that utilizes a collection of name-value pairs and arrays of values to represent data. XML and JSON can capture various computer data structures (e.g. objects, lists trees) for storage and/or transmission.
A myriad of application programming interfaces (APIs) and/or language implementations can be employed to process structured data. For example, XML data can be formatted, queried and/or transformed by XSLT, XQuery and/or XPath. Furthermore, similar mechanisms can be utilized for serializing or streaming such data. Conventionally, such mechanisms load an entire data structure in memory and subsequently perform operations over the materialized data structure.